package com.zhou.android.livedata

import android.arch.lifecycle.MutableLiveData
import android.arch.lifecycle.ViewModel

/**
 * Created by mxz on 2020/5/22.
 */
class ArticleModel : ViewModel() {

    private val images = arrayOf(
            "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1590142589009&di=0428c14757404f4584c922eead1b90e9&imgtype=0&src=http%3A%2F%2Fimg.zcool.cn%2Fcommunity%2F01b4ab59e9fd52a801216a4bda49b2.jpg",
            "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1590142612027&di=5124715ac97e7ff5800fed095d55c5c5&imgtype=0&src=http%3A%2F%2Fhbimg.b0.upaiyun.com%2F308910159be64b7c69d12a0c5b566c30f5665246219df-vTlzZt_fw658",
            "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1590142612026&di=5558f8ac820ab5c85a67c07efe5e60f1&imgtype=0&src=http%3A%2F%2Fpic13.nipic.com%2F20110317%2F3425404_204935733332_2.jpg",
            "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1590142645444&di=f6262eeaa917c9e5f7693d9ecda5a28a&imgtype=0&src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20180626%2F0428ce643a0346d98bb59e5c9e225680.jpeg",
            "https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3233363133,4146104753&fm=26&gp=0.jpg",
            "https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=925862684,3249230817&fm=11&gp=0.jpg")

    private val articles = arrayListOf<Article>(
            Article("北国风光", "北国风光，千里冰封，万里雪飘。\n望长城内外，惟余莽莽；\n大河上下，顿失滔滔。", images[0]),
            Article("山舞银蛇", "山舞银蛇，原驰蜡象，欲与天公试比高。\n须晴日，\n看红装素裹，分外妖娆。", images[1]),
            Article("江山如此多娇", "江山如此多娇，引无数英雄竞折腰。", images[2]),
            Article("惜秦皇汉武", "惜秦皇汉武，略输文采；唐宗宋祖，稍逊风骚。\n一代天骄，\n成吉思汗，只识弯弓射大雕。", images[3]),
            Article("俱往矣", "俱往矣，数风流人物，还看今朝。", images[4]),
            Article("沁园春·雪", "北方的风光，千万里冰封冻，千万里雪花飘。远望长城内外，只剩下无边无际白茫茫一片；宽广的黄河上下，顿时失去了滔滔水势。山岭好像银白色的蟒蛇在飞舞，高原上的丘陵好像许多白象在奔跑，它们都想试一试与老天爷比比高。要等到晴天的时候，看红艳艳的阳光和白皑皑的冰雪交相辉映，分外美好。江山如此媚娇，引得无数英雄竞相倾倒。"),
            Article("沁园春·雪", "北方的风光，千万里冰封冻，千万里雪花飘。远望长城内外，只剩下无边无际白茫茫一片；宽广的黄河上下，顿时失去了滔滔水势。山岭好像银白色的蟒蛇在飞舞，高原上的丘陵好像许多白象在奔跑，它们都想试一试与老天爷比比高。要等到晴天的时候，看红艳艳的阳光和白皑皑的冰雪交相辉映，分外美好。江山如此媚娇，引得无数英雄竞相倾倒。"),
            Article("沁园春·雪", "北方的风光，千万里冰封冻，千万里雪花飘。远望长城内外，只剩下无边无际白茫茫一片；宽广的黄河上下，顿时失去了滔滔水势。山岭好像银白色的蟒蛇在飞舞，高原上的丘陵好像许多白象在奔跑，它们都想试一试与老天爷比比高。要等到晴天的时候，看红艳艳的阳光和白皑皑的冰雪交相辉映，分外美好。江山如此媚娇，引得无数英雄竞相倾倒。"),
            Article("沁园春·雪", "北方的风光，千万里冰封冻，千万里雪花飘。远望长城内外，只剩下无边无际白茫茫一片；宽广的黄河上下，顿时失去了滔滔水势。山岭好像银白色的蟒蛇在飞舞，高原上的丘陵好像许多白象在奔跑，它们都想试一试与老天爷比比高。要等到晴天的时候，看红艳艳的阳光和白皑皑的冰雪交相辉映，分外美好。江山如此媚娇，引得无数英雄竞相倾倒。"),
            Article("沁园春·雪", "北方的风光，千万里冰封冻，千万里雪花飘。远望长城内外，只剩下无边无际白茫茫一片；宽广的黄河上下，顿时失去了滔滔水势。山岭好像银白色的蟒蛇在飞舞，高原上的丘陵好像许多白象在奔跑，它们都想试一试与老天爷比比高。要等到晴天的时候，看红艳艳的阳光和白皑皑的冰雪交相辉映，分外美好。江山如此媚娇，引得无数英雄竞相倾倒。"),
            Article("沁园春·雪", "北方的风光，千万里冰封冻，千万里雪花飘。远望长城内外，只剩下无边无际白茫茫一片；宽广的黄河上下，顿时失去了滔滔水势。山岭好像银白色的蟒蛇在飞舞，高原上的丘陵好像许多白象在奔跑，它们都想试一试与老天爷比比高。要等到晴天的时候，看红艳艳的阳光和白皑皑的冰雪交相辉映，分外美好。江山如此媚娇，引得无数英雄竞相倾倒。", images[5]),
            Article("沁园春·雪", "北方的风光，千万里冰封冻，千万里雪花飘。远望长城内外，只剩下无边无际白茫茫一片；宽广的黄河上下，顿时失去了滔滔水势。山岭好像银白色的蟒蛇在飞舞，高原上的丘陵好像许多白象在奔跑，它们都想试一试与老天爷比比高。要等到晴天的时候，看红艳艳的阳光和白皑皑的冰雪交相辉映，分外美好。江山如此媚娇，引得无数英雄竞相倾倒。"),
            Article("沁园春·雪", "北方的风光，千万里冰封冻，千万里雪花飘。远望长城内外，只剩下无边无际白茫茫一片；宽广的黄河上下，顿时失去了滔滔水势。山岭好像银白色的蟒蛇在飞舞，高原上的丘陵好像许多白象在奔跑，它们都想试一试与老天爷比比高。要等到晴天的时候，看红艳艳的阳光和白皑皑的冰雪交相辉映，分外美好。江山如此媚娇，引得无数英雄竞相倾倒。"),
            Article("沁园春·雪", "北方的风光，千万里冰封冻，千万里雪花飘。远望长城内外，只剩下无边无际白茫茫一片；宽广的黄河上下，顿时失去了滔滔水势。山岭好像银白色的蟒蛇在飞舞，高原上的丘陵好像许多白象在奔跑，它们都想试一试与老天爷比比高。要等到晴天的时候，看红艳艳的阳光和白皑皑的冰雪交相辉映，分外美好。江山如此媚娇，引得无数英雄竞相倾倒。", images[5]),
            Article("沁园春·雪", "北方的风光，千万里冰封冻，千万里雪花飘。远望长城内外，只剩下无边无际白茫茫一片；宽广的黄河上下，顿时失去了滔滔水势。山岭好像银白色的蟒蛇在飞舞，高原上的丘陵好像许多白象在奔跑，它们都想试一试与老天爷比比高。要等到晴天的时候，看红艳艳的阳光和白皑皑的冰雪交相辉映，分外美好。江山如此媚娇，引得无数英雄竞相倾倒。"),
            Article("沁园春·雪", "北方的风光，千万里冰封冻，千万里雪花飘。远望长城内外，只剩下无边无际白茫茫一片；宽广的黄河上下，顿时失去了滔滔水势。山岭好像银白色的蟒蛇在飞舞，高原上的丘陵好像许多白象在奔跑，它们都想试一试与老天爷比比高。要等到晴天的时候，看红艳艳的阳光和白皑皑的冰雪交相辉映，分外美好。江山如此媚娇，引得无数英雄竞相倾倒。")
    )
    val liveData: MutableLiveData<List<Article>> by lazy {
        MutableLiveData<List<Article>>().apply {
            value = articles
        }
    }

    fun getArticle(pos: Int) = articles[pos]

    fun updateArticle(article: Article?, pos: Int) {
        if (pos >= 0 && pos < articles.size) {
            if (article == null) {
                articles.removeAt(pos)
            } else {
                articles[pos] = article
            }
            liveData.postValue(articles)
        }
    }
}